#ifndef OBJECT3D
#define OBJECT3D

#include <string>

#include "vec3f.h"
#include "Rectangle.h"


class Object3D{
	
	protected:
		// Transformation Variables
		Vec3f* vScale;
		Vec3f* vRotation;
		Vec3f* vTranslation;
		Rectangle* rBoundingBox;
		std::string strTexturePath;
		float fMaxHeight;
		float fMaxWidth;

	public:
		// Constructor
		Object3D();
		Object3D(std::string strTexturePath);
		//~Object3D();

		// Main Functions
		void Update(float deltaTime);
		void Draw();

		// Setters and Getters
		void SetScale(Vec3f* fscale);
		void SetRotation(Vec3f* vRotation);
		void SetTranslation(Vec3f* vTranslation);

		Vec3f GetScale();
		Vec3f GetRotation();
		Vec3f GetTranslation();
		Rectangle GetBoundingBox();
};

#endif